The present invention pertains to the field of copyright protection of computer software and more particularly to an Internet-based automated system and a method for automatically embedding protection mechanisms with computer identification numbers (CINs) into software and distributing the protected software to consumers over the Internet.
Developing an easy, inexpensive, efficient, and reliable software copyright protection scheme has been a problem which has forever plagued the software industry. The Business Software Alliance estimates software developers and vendors lose billions of U.S. dollars each year from the unauthorized use and/or copying of their products.
For the purposes of the present application, the term xe2x80x9csoftwarexe2x80x9d includes, but is not limited to computer programs, data, multimedia presentations, media files including audio and video data files, including music programs, movies, television, programs, and the like. Similarly, the term xe2x80x9ccomputerxe2x80x9d includes a computer system, home computer, laptop computer, palm computer, CD player, DVD player, or other media type player, as well as other types of computer controlled devices running software including industrial and robotic applications. The term xe2x80x9ccomputer identification numberxe2x80x9d as used herein may include a computer processor serial number, hard drive serial number, operating system identification number, CD, DVD, or other media player serial number, or the like.
From the standpoint of preventing the unauthorized use of software, prior art software copyright protection methods may be broadly classified in three groups: hardware related methods, encrypted software methods, and non-encrypted software methods. All these methods involve trade-offs in terms of the level of protection, performance, costs, and ease of use.
In hardware related methods, the protection mechanism may need additional apparatus or hardware attached to a computer in order to properly function. Usually, this method may obtain a higher level of protection and security, but at the expense of increased cost and complexity. Because the cost of computer itself has continually reduced in recent years, this method becomes more and more unattractive in the field of software copyright protection.
In encrypted software methods, software may be disabled using various encryption algorithms and may be available only to someone who can restore the software to its original form through decryption. This encryption method generally does not require extra hardware. However, such encryption techniques may require users to provide additional information such as secure keys, which are distributed separately, to reassemble the program or decrypt the entitlement information and thus operate it.
The use of such keys may create severe performance degradation because of the overhead of verification. In addition, the use of encryption keys increases difficulty of use and has relatively high costs for each individual distribution. More importantly, one substantial drawback of this approach is it may not protect the copyright of software because a user can share the key and software with many others with no accountability to the copyright holder.
In non-encrypted software methods, the software contains some built-in machine specific information, and no secure keys are required to activate the software. The non-encrypted method is simple, efficient, and cost-effective, and provides a relatively high level of protection. However, non-encrypted methods may require a relatively complex processing and distributing system. Each copy of the protected software may require unique compilation by collecting individual consumer information and then distribution of the correct copy to an individual consumer. To date, due to the limitation of technologies in the past, this method has remained in the theoretical stage, and no related techniques have been proposed.
Recently, there have been significant developments in connection with the global information network called the World Wide Web. They include Hypertext Markup Language, Hypertext Transmission Protocol, GUI-based Internet navigation tools, Java(trademark) Language, Virtual Reality Modeling Language, and the like. Such developments have not only made it very easy for companies to communicate with consumers for the purpose of advertising, selling, and maintaining their products and services, but also built up a very large and efficient information processing and software distributing system.
For example, it may be much more efficient and cost-effective to distribute software, digitally encoded music files, and even video files over the internet rather than distribute such data through traditional channels using physical media (e.g., CD-ROM, DVD, or the like). As the bandwidth of the internet increases through use of cable modems, ADSL modems, Network T1 or ISDN lines, distribution of both software (i.e., programs) and media (i.e, movies, music recordings, videos, and the like) will become more prevalent. However, software and media providers are reluctant to allow downloading of their products through the internet for fear of copyright piracy.
As a result, the demand for some type of non-encrypted software method has significantly increased. With the development of Internet Technologies, it is expected some type of non-encrypted software method will be universally accepted, as the efficiency of the processing and distributing system continuously increases while its maintenance costs decrease.
Thus, there exists a demand for a simple, low cost, efficient, and effective system and method for software copyright protection and sales with the state of the art technologies.
The present invention provides an Internet-based automated system and method for software copyright protection and sales. This automated system includes a Web server for receiving consumer requests; Web pages for providing a user interface; data processing programs for handling consumer purchase orders; daemons for automatically performing software protection process and automatically distributing protected software to consumers over the Internet; and a server database which stores consumer information, software information, distribution information, and purchase order information and the like.
The automated software protection process includes the steps of acquiring computer identification numbers; selecting purchased software; and embedding protection mechanisms into the purchased software at stop points by compiling the purchased software source code or revising the executable code of the purchased software.
The protection mechanism may comprise a CIN reader and a CIN verifier. The CIN reader may comprise a function call to automatically read the computer identification numbers from computers and a program to convert the computer identification numbers to the encrypted computer identification numbers by means of any of a number of protection methodologies. The CIN verifier comprises the encrypted authorized computer identification numbers and logic.
Another mechanism embodied herein includes identifying consumer computer operating systems and reading the computer identification numbers from consumer computers automatically.
Broadly speaking, in response to requests for purchasing software, the Internet-based automated system will take consumer information; read consumer computer identification numbers; store consumer information and the computer identification numbers into the database; select the purchased software; embed the protection mechanisms into the purchased software; and distribute the protected software program to consumers. The complete process may be automatically performed and controlled by the daemons and processing programs.
When the protected software is executed on a computer, the protection mechanisms are invoked at the stop points. Each CIN reader first reads at least one computer identification number from the computer and then converts them to the encrypted CINs. The CIN verifiers then compare the encrypted authorized computer identification numbers with the encrypted read-in computer identification numbers. If the encrypted authorized computer identification numbers match with the encrypted read-in computer identification numbers, the protected software continues running. Otherwise, the protected software terminates.
Further features and advantages of the present invention will be apparent hereinafter and in the Claims to Invention.